﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
using TOAcademias;

namespace DAOAcademias
{

    /*************************************
    Autor: Carlos Sánchez
    Fecha de Creación: 06/02/2011
    Descripción de la Funcionalidad: Clase que contiene metodos que serviran para dar
    soporte a los registros de los Reportes.
    **************************************/    
    
    public class DOReporte
    {

        DBModuloAcademiasDataContext dbml;

        public DOReporte()
        {
            dbml = new DBModuloAcademiasDataContext();
        }


        public DataTable reporteHistoricoAcademias()
        {

            DataTable dtbTabla =new DataTable();
            dtbTabla.Columns.Add("COD_PERIODO");
            dtbTabla.Columns.Add("DES_PERIODO");
            dtbTabla.Columns.Add("FEC_INICIO");
            dtbTabla.Columns.Add("CICLO");
            dtbTabla.Columns.Add("COD_ACADEMIA");
            dtbTabla.Columns.Add("DES_ACADEMIA");
            dtbTabla.Columns.Add("COD_SECCION");
            dtbTabla.Columns.Add("DES_SECCION");            
            dtbTabla.Columns.Add("NOM_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_PAT_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_MAT_INSTRUCTOR");
            dtbTabla.Columns.Add("CANTIDAD");

            var rep = dbml.UVW_REP_HISTORICO_ACADEMIA;

            foreach (var fila in rep)
            {
            dtbTabla.Rows.Add(new object[] {
                fila.COD_PERIODO,fila.DES_PERIODO,
                fila.FEC_INICIO,fila.CICLO,
                fila.COD_ACADEMIA,fila.DES_ACADEMIA,
                fila.COD_SECCION,fila.DES_SECCION,
                fila.NOM_INSTRUCTOR,fila.APE_PAT_INSTRUCTOR,fila.APE_MAT_INSTRUCTOR,
                fila.CANTIDAD});
            }

            return dtbTabla;
        }

        public DataTable reporteRequerimientoxSeccion()
        {

            DataTable dtbTabla =new DataTable();
            dtbTabla.Columns.Add("COD_PERIODO");
            dtbTabla.Columns.Add("DES_PERIODO");
            dtbTabla.Columns.Add("FEC_INICIO");
            dtbTabla.Columns.Add("CICLO");
            dtbTabla.Columns.Add("COD_ACADEMIA");
            dtbTabla.Columns.Add("DES_ACADEMIA");
            dtbTabla.Columns.Add("COD_SECCION");
            dtbTabla.Columns.Add("DES_SECCION");
            dtbTabla.Columns.Add("COD_INSTRUCTOR");
            dtbTabla.Columns.Add("NOM_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_PAT_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_MAT_INSTRUCTOR");
            dtbTabla.Columns.Add("COD_CLASE");
            dtbTabla.Columns.Add("FEC_CLASE");
            dtbTabla.Columns.Add("REC_CLASE");

            var rep = dbml.UVW_REP_REQUERIMIENTO_SECCION;

            foreach (var fila in rep)
            {
            dtbTabla.Rows.Add(new object[] {
                fila.COD_PERIODO,fila.DES_PERIODO,
                fila.FEC_INICIO,fila.CICLO,
                fila.COD_ACADEMIA,fila.DES_ACADEMIA,
                fila.COD_SECCION,fila.DES_SECCION,
                fila.COD_INSTRUCTOR,fila.NOM_INSTRUCTOR,fila.APE_PAT_INSTRUCTOR,fila.APE_MAT_INSTRUCTOR,
                fila.COD_CLASE,fila.FEC_CLASE,fila.REC_CLASE});
            }

            return dtbTabla;
        }

        public DataTable reporteAsistencias()
        {
                
            DataTable dtbTabla = new DataTable();
            dtbTabla.Columns.Add("COD_PERIODO");
            dtbTabla.Columns.Add("DES_PERIODO");
            dtbTabla.Columns.Add("FEC_INICIO");
            dtbTabla.Columns.Add("CICLO");
            dtbTabla.Columns.Add("COD_ACADEMIA");
            dtbTabla.Columns.Add("DES_ACADEMIA");
            dtbTabla.Columns.Add("COD_SECCION");
            dtbTabla.Columns.Add("DES_SECCION");
            dtbTabla.Columns.Add("COD_INSTRUCTOR");
            dtbTabla.Columns.Add("NOM_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_PAT_INSTRUCTOR");
            dtbTabla.Columns.Add("APE_MAT_INSTRUCTOR");
            dtbTabla.Columns.Add("TOTAL_ALUMNOS");
            dtbTabla.Columns.Add("TOTAL_CLASES");
            dtbTabla.Columns.Add("TOTAL_ASISTENCIA");

            var rep = dbml.UVW_REP_ASISTENCIAS;

            foreach (var fila in rep)
            {
                dtbTabla.Rows.Add(new object[] {
                fila.COD_PERIODO,fila.DES_PERIODO,
                fila.FEC_INICIO,fila.CICLO,
                fila.COD_ACADEMIA,fila.DES_ACADEMIA,
                fila.COD_SECCION,fila.DES_SECCION,
                fila.COD_INSTRUCTOR,fila.NOM_INSTRUCTOR,fila.APE_PAT_INSTRUCTOR,fila.APE_MAT_INSTRUCTOR,
                fila.TOTAL_ALUMNOS,fila.TOTAL_CLASES,fila.TOTAL_ASISTENCIA});
            }

            return dtbTabla;
        }


        public List<String> ParametrosConexion() { 
            List<String> listaParametros=new List<String>();
            listaParametros.Add(dbml.Connection.DataSource);
            listaParametros.Add(dbml.Connection.Database);
            return listaParametros;
        }


    }
}
